package edu.集合基础.ArrayList;

import java.util.ArrayList;

public class 案例_集合删除元素 {
/*需求；创建一个存储String的集合，内部存储（test，张三，李四，test,test）字符串，
删除所有的test字符串，删除后，将集合剩余元素打印在控制台
*/
    public static void main(String[] args) {
        ArrayList<String> list=new ArrayList<>();
        list.add("test");
        list.add("张三");
        list.add("李四");
        list.add("test");
        list.add("test");

        //根据元素删除只能删除第一个test
        //list.remove("test");//[张三, 李四, test, test].只删除了一个
        for (int i = 0; i < list.size(); i++) {
            String s=list.get(i);
            //字符串的比较不能使用“==”，必须使用equals方法
            //使用“test”.equals(s),常量调动equals方法不会出现空指针异常的方法
            if ("test".equals(s)){
                //list.remove(s);  //应该根据索引删
                list.remove(i);
                //删除掉一个元素之后，后面的元素会整体向前移，索引会发生变化
                //加上i--才能删除掉所有test
                i--;//抵消索引前移
            }
        }

        System.out.println(list);

    }
}
